home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / FPGAWKII.ZIP / CLA.PDS < prev    next >
Text File  |  1994-10-05  |  1KB  |  59 lines

  1. TITLE   carry lookahead adder
  2.  
  3. DEFMOD cla( a[0:3], b[0:3], cin, s[0:3], cout )
  4. CHIP   cla  Intel_arch
  5. PIN    a[0:3]   ;* 4-bit addend
  6. PIN    b[0:3]   ;* 4-bit addend
  7. PIN    cin      ;* carry input
  8. PIN    s[0:3]   ;* 4-bit sum
  9. PIN    cout     ;* carry output
  10. PIN    g[0:3]   ;* carry-generate bits
  11. PIN    p[0:3]   ;* carry-propagate bits
  12. PIN    c[0:2]   ;* internal carry bits
  13.  
  14. EQUATIONS
  15.     ;* first bit
  16.     g0 = a0*b0
  17.     p0 = a0:+:b0
  18.     c0 = g0 + p0*cin
  19.     s0 = p0 :+: cin
  20.     ;* second bit
  21.     g1 = a1*b1
  22.     p1 = a1:+:b1
  23.     c1 = g1 + p1*g0 + p1*p0*cin
  24.     s1 = p1 :+: c0
  25.     ;* third bit
  26.     g2 = a2*b2
  27.     p2 = a2:+:b2
  28.     c2 = g2 + p2*g1 + p2*p1*g0 + p2*p1*p0*cin
  29.     s2 = p2 :+: c1
  30.     ;* fourth bit
  31.     g3 = a3*b3
  32.     p3 = a3:+:b3
  33.     cout = g3 + p3*g2 + p3*p2*g1 + p3*p2*p1*g0 +
  34.                 p3*p2*p1*p0*cin
  35.     s3 = p3 :+: c2
  36. ENDMOD
  37.  
  38. CHIP test NFX780_84
  39. PIN    a[0:3]   ; 4-bit addend
  40. PIN    b[0:3]   ; 4-bit addend
  41. PIN    cin      ; carry input
  42. PIN    s[0:3]   ; 4-bit sum
  43. PIN    cout     ; carry output
  44. MODULE cla( a[0:3]=a[0:3], b[0:3]=b[0:3], cin=GND,
  45.             s[0:3]=s[0:3], cout=cout )
  46. SIMULATION
  47.     VECTOR a := [a3,a2,a1,a0]
  48.     VECTOR b := [b3,b2,b1,b0]
  49.     VECTOR s := [cout,s3,s2,s1,s0]
  50.     TRACE_ON a b s
  51.     FOR i := 0 TO 15 DO
  52.       BEGIN
  53.       SETF a := i
  54.       FOR j := 0 TO 15 DO
  55.         BEGIN
  56.         SETF b := j
  57.         END
  58.       END
  59.